1. Field of the Invention
The present invention relates to a data transmission apparatus, system and method and an image processing apparatus, and more particularly, to a data transmission apparatus, system and method and an image processing apparatus used in a case where an image providing device such as a digital camera is directly connected to an image processing device such as a printer via a serial interface based on, e.g., the IEEE 1394 standards.
2. Description of Related Art
Various types of systems which transfer data to a printer via a bus are known. For example, a known technique is to output data from a computer to the printer by using a defacto standard interface such as a SCSI (Small Computer System Interface) or Centronics interface.
In other words, the printer is connected to a personal computer (PC) used as a host device via a parallel or serial interface such as a centronics or RS232C interface.
Further, digital devices as image providing devices such as a scanner, a digital still camera and a digital video camera, are also connected to the PC. Image data inputted by the respective digital devices is temporarily stored in a hard disk or the like on the PC, then processed by an application software program or the like on the PC and converted into print data for the printer, and transferred via the above interface to the printer.
In the above system, the PC has driver software programs, respectively, for controlling the digital devices and the printer. The image data outputted from the digital devices is held by these driver software programs in data format which can be easily handled and displayed on the PC. The stored data is converted into the print data by an image processing method in consideration of image characteristics of the input and output devices.
Today it is possible for a new interface such as an interface based on the IEEE 1394 standards (hereinafter referred to as “1394 serial bus”) to directly connect an image providing device and a printer. In case of directly connecting the image providing device to the printer by the 1394 serial bus, an FCP (Function Control Protocol) operand may include print data. Further, in the 1394 serial bus, a register area for may be provided such that data transfer is performed by writing data into the register area.
Further, as the 1394 serial bus has a plurality of data-transfer control procedures, data transfer can be performed in methods appropriate to the respective devices.
Further, the 1394 serial bus has an isochronous transfer mode and an asynchronous transfer mode. Time-restricted data, e.g., real-time data, is transferred by isochronous transfer, while simple data transfer is performed by asynchronous transfer.
As described above, the image data outputted from the image providing device is converted into print data by the PC and print-outputted by the printer, accordingly, even if the image providing device and the printer are directly connected, printing cannot be performed without the PC. A video printer which directly print-outputs image data outputted from a digital video camera is known, however, even in case of using this printer, connection is made only between specific devices. There is no video printer which is directly connected to a number of image providing devices for general printing purposes. That is, it is impossible to directly send image data from the image providing device to a printer for printing, by utilizing a function to directly connect devices, which is characteristic of the 1394 serial bus or the like.
In the above method which directly connects the image providing device to the printer with the 1394 serial bus and includes print data into an FCP operand, the control commands cannot be separated from the print data. Further, in this method, the transfer efficiency is low since a response is always required with respect to a command. The above method providing a register area for data transfer requires processing to determine whether or not data can be written into the register area at every data transfer. Accordingly, the overhead of the determination processing is great, which degrades the transfer efficiency.
Further, to ensure connection with various types of devices, a plurality of data transfer methods appropriate to the respective devices are required.
The data transfer methods are briefly classified into a PUSH method in which a host device writes data into a target device and a PULL method in which a target device reads data from a host device. One of these transfer methods is determined in accordance with resources of both host and target devices. However, in case of directly connecting with various types of devices, it is impossible to determine which method, the PUSH method or the PULL method, as the data transfer method.
Further, as the basic transfer method of in the synchronous mode is different from the asynchronous mode, it is difficult to change the synchronous and asynchronous modes in the same transfer procedure.